﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<set>

using namespace std;
typedef long long ll;
int n;
set<ll> mp;
const ll INF = 1e10 + 10;
int main()
{
	cin >> n;
	mp.insert(INF);
	mp.insert(-INF);
	while (n--)
	{
		ll op,len; cin >> op >> len;;
		if (op == 1)
		{
			if (mp.count(len))cout << "Already Exist" << endl;
			else
			{
				mp.insert(len);
			}
		}
		else
		{
			if (mp.size() == 2)
			{
				cout << "Emtpy" << endl;
			}
			else
			{
				auto it = mp.lower_bound(len);
				auto tmp = it;
				tmp--;
				if (abs(*tmp - len) <= abs(*it - len))
				{
					cout << *tmp << endl;
					mp.erase(tmp);
				}
				else
				{
					cout << *it << endl;
					mp.erase(it);
				}
			}
		}
	}
	return 0;
}
//const int INF = 1e7 + 10;
//int n;
//set<int>mp;
//int main()
//{
//	cin >> n;
//	int ret; cin >>ret;
//	mp.insert(ret);
//	mp.insert(INF);
//	mp.insert(-INF);
//	for (int i = 1; i <= n; i++)
//	{
//		int x; cin >> x;
//		auto it = mp.lower_bound(x);
//		auto tmp = it;
//		tmp--;
//		if (*it == x)continue;
//		ret += min(abs(*tmp - x), abs(*it - x));
//		mp.insert(x);
//	}
//	cout << ret << endl;
//	return 0;
//}
//typedef long long ll;
//int n, p;
//map<string, int>mp;
//bool check(char ch)
//{
//	if (ch >= '0' && ch <= '9' || ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
//	{
//		return true;
//	}
//	return false;
//}
//int main()
//{
//	cin >> n >> p;
//	for (int i = 1; i <= n; i++)
//	{
//		string s; cin>>s;
//		int x; cin >> x;
//		mp[s]=x;
//	}
//	ll ret = 0;
//	char ch;
//	string t = "";
//	while (scanf("%c", &ch) != EOF)
//	{
//		if (check(ch))t += ch;
//		else
//		{
//			ret =(ret+ mp[t])%p;
//			t = "";
//		}
//	}
//	cout << ret << endl;
//	return 0;
//}